package com.aibaixun.system.service;

import com.aibaixun.common.core.domain.R;
import com.aibaixun.system.domain.*;
import com.aibaixun.system.domain.dto.DicmNvrRegisterDto;
import com.aibaixun.system.domain.dto.QueryPostureDeviceDto;
import com.aibaixun.system.domain.vo.AssetsMessageVo;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * EVS API调用 业务层
 *
 * @author zhangyh
 */
public interface EvsApiService {

    /**
     * 新增名单库成员
     * @param user
     * @return
     */
    String addEvsMember(WorkOrderUser user);

    /**
     * 清空名单库
     */
    void deleteThirdWorkerOrderUser();

    /**
     * AI事件拉取
     */
    void getAiEventInfoData();

    /**
     * evs调用前置业务操作
     * @return
     */
    JSONObject evsBeforeHandle();

    /**
     * 视频设备绑定EVS
     * @param dto
     * @return
     */
    R evsDeviceRegister(DicmNvrRegisterDto dto);

    R getEvsEvent();

    void updateAiApp();

    void checkAiDeviceStatus();

    void getSeatMessageData();

    void getAssetsMessage();

    void getAssetsMessage1(JSONObject resultData);

    void getEvsDeviceId();

    void unbindAll();

    void getDicmAddressMessage(List<AssetsMessageVo> assetsMessageList, List<DicmAddress> addressesList, List<DicmNvr> nvrList, List<PostureDevice> postureDeviceList, List<DicmDevice> deviceList, String parentId,List<DicmCabinet> cabinetList);

    void getEnergyEfficiency();

    void savePostureDevice(List<QueryPostureDeviceDto> postureList);

}
